// var i;
// var $uI_GetItems_UIBindings = require("./UI_GetItems_UIBindings");
// var $uIView = require("./UIView");
// var $item_Icon = require("./Item_Icon");
// var $audioManager = require("./AudioManager");
// var d = cc._decorator;
// var p = d.ccclass;
// var h = d.property;
// var f = d.inspector;
// var g = (function (e) {
//     function t() {
//         var t = (null !== e && e.apply(this, arguments)) || this;
//         t.auto_ui = null;
//         t.delayTime = 0.1;
//         return t;
//     }
//     __extends(t, e);
//     t.prototype._show = function (e) {
//         this.delayTime = 0.1;
//         this.m_Data = e;
//         if (e.ids.length <= 5) {
//             this.auto_ui.list_min.numItems = e.ids.length;
//         } else {
//             this.auto_ui.list_max.numItems = e.ids.length;
//         }
//         $audioManager.AudioMgr.playEffect("effect/getReward");
//     };
//     t.prototype.getItemRender = function (e, t) {
//         e.getComponent($item_Icon.default).init(this.m_Data.ids[t], this.m_Data.counts[t]);
//         e.stopAllActions();
//         e.scale = 0;
//         e.runAction(cc.sequence(cc.delayTime(this.delayTime), cc.scaleTo(0.1, 1, 1)));
//         this.delayTime += 0.05;
//     };
//     t.prototype._clickListener = function () {
//         if (this.m_Data && this.m_Data.clickCallBack) {
//             this.m_Data.clickCallBack();
//         }
//         this.m_Data = null;
//         this._close();
//     };
//     __decorate([h($uI_GetItems_UIBindings.default)], t.prototype, "auto_ui", void 0);
//     return __decorate([p], t);
// })($uIView.default);
// exports.default = g;


// import  UI_GetItems_UIBindings  from './UI_GetItems_UIBindings';
// import  UIView  from './UIView';
// import  Item_Icon from './Item_Icon';
// import { AudioMgr } from './AudioManager';

// const { ccclass, property, inspector } = cc._decorator;

// /**
//  * 建议名称: GetItemsUI
//  */
// @ccclass
// class UI_GetItems extends UIView {
//     /**
//      * 自动生成的UI绑定实例
//      * 建议变量名: autoUIBindings
//      */
//     @property(UI_GetItems_UIBindings)
//     public auto_ui: UI_GetItems_UIBindings = null!

//     /**
//      * 动画延迟时间
//      * 建议变量名: animationDelay
//      */
//     private delayTime: number = 0.1

//     private m_Data: any

//     /**
//      * 显示获取的道具
//      * @param e 获取的道具数据, 其中包括ids和counts
//      * 建议方法名: showItems
//      */
//     public _show(e: any): void {
//         // 重设延迟时间
//         this.delayTime = 0.1;
//         this.m_Data = e;

//         // 根据道具数量显示不同的列表
//         if (e.ids.length <= 5) {
//             this.auto_ui.list_min.numItems = e.ids.length;
//         } else {
//             this.auto_ui.list_max.numItems = e.ids.length;
//         }

//         // 播放音效
//         AudioMgr.playEffect("effect/getReward");
//     }

//     /**
//      * 获取道具渲染器
//      * @param e 渲染节点
//      * @param t 道具索引
//      * 建议方法名: renderItem
//      */
//     public getItemRender(e: cc.Node, t: number): void {
//         const itemIcon = e.getComponent(Item_Icon) as Item_Icon;

//         // 初始化道具图标
//         itemIcon.init(this.m_Data.ids[t], this.m_Data.counts[t]);

//         // 清除所有动作并重置缩放
//         e.stopAllActions();
//         e.scale = 0;

//         // 执行动画
//         e.runAction(cc.sequence(cc.delayTime(this.delayTime), cc.scaleTo(0.1, 1, 1)));

//         // 增加延迟时间
//         this.delayTime += 0.05;
//     }

//     /**
//      * 点击事件监听器
//      * 建议方法名: clickListener
//      */
//     protected _clickListener(): void {
//         // 如果数据存在且存在回调函数，执行回调函数
//         if (this.m_Data && this.m_Data.clickCallBack) {
//             this.m_Data.clickCallBack();
//         }

//         // 清空数据并关闭界面
//         this.m_Data = null;
//         this._close();
//     }
// }

// export default UI_GetItems;

import UIGetItemsUIBindings from './UI_GetItems_UIBindings';
import UIViewBase from './UIView';
import Item_Icon from './Item_Icon';
import { AudioMgr } from './AudioManager';

const { ccclass, property, inspector } = cc._decorator;

/**
 * 建议名称: GetItemsUI
 */
@ccclass
class ViewGetItems extends UIViewBase {
    /**
     * 自动生成的UI绑定实例
     * 建议变量名: autoUIBindings
     */
    @property(UIGetItemsUIBindings)
    public auto_ui: UIGetItemsUIBindings = null!;

    /**
     * 动画延迟时间
     * 建议变量名: animationDelay
     */
    private delayTime: number = 0.1;

    private itemData: any;

    /**
     * 显示获取的道具
     * @param data 获取的道具数据, 其中包括ids和counts
     * 建议方法名: showItems
     */
    public _show(data: any): void {
        // 重设延迟时间
        this.delayTime = 0.1;
        this.itemData = data;

        // 根据道具数量显示不同的列表
        if (data.ids.length <= 5) {
            this.auto_ui.list_min.numItems = data.ids.length;
        } else {
            this.auto_ui.list_max.numItems = data.ids.length;
        }

        // 播放音效
        AudioMgr.playSoundEffect("effect/getReward");
    }

    /**
     * 获取道具渲染器
     * @param node 渲染节点
     * @param index 道具索引
     * 建议方法名: renderItem
     */
    public getItemRender(node: cc.Node, index: number): void {
        const itemIcon = node.getComponent(Item_Icon) as Item_Icon;

        // 初始化道具图标
        itemIcon.initialize(this.itemData.ids[index], this.itemData.counts[index]);

        // 清除所有动作并重置缩放
        node.stopAllActions();
        node.scale = 0;

        // 执行动画
        node.runAction(cc.sequence(cc.delayTime(this.delayTime), cc.scaleTo(0.1, 1, 1)));

        // 增加延迟时间
        this.delayTime += 0.05;
    }

    /**
     * 点击事件监听器
     * 建议方法名: clickListener
     */
    protected _clickListener(): void {
        // 如果数据存在且存在回调函数，执行回调函数
        if (this.itemData && this.itemData.clickCallBack) {
            this.itemData.clickCallBack();
        }

        // 清空数据并关闭界面
        this.itemData = null;
        this._close();
    }
}

export default ViewGetItems;